package jhlee42;

public class J11Exception {
	// 예외처리

	public static void main(String[] args) {
		
		
		
//		System.out.println("이 글이 보이나요!");
//		//System.out.println(100/0); // 오류
//		System.out.println("이 글도 보이나요!");
//		
//		int i[] = new int[10];
//		for (int j = i; j <= 10; ++j) {
//			System.out.println(i[j]);
//		}
		
		
		
        	
		System.out.println("이 글이 보이나요!");
		try {
			System.out.println(100/0); // 오류
		} catch (ArithmeticException ae) {
			//ae.printStackTrace();
			ae.toString();
			System.out.println("0으로 나누면 안되요!");
		}	
		//System.out.println(100/0); // 오류
		System.out.println("이 글도 보이나요!");
	
		
		
		
		int i []= new int[10];
		for (int j = 1; j <= 10; ++j) {
			try {
				System.out.println(i[j]);	
			} 
			catch (ArrayIndexOutOfBoundsException ae) {
				System.out.println("배열 인덱스 초과!");
			}
		
			
		// 다중 catch 문
/*		try {
			System.out.println(100/0);
			System.out.println(i[100]);	
		}
		catch (ArithmeticException ae) {
			System.out.println(" 0 으로 나누면 안되요!");
		}
		catch (ArrayIndexOutOfBoundsException ie) {
			System.out.println(" 배열 인데스 초과!");
		}	
		*/
		
		// 모든 예외의 조상 - Exception
		try {
			System.out.println(100/0);
			System.out.println(i[100]);	
		}
		catch (Exception ex) {
			ex.printStackTrace();
			System.out.println("치명적인 오류?가 발생");
		}
		
		
		
		
		
		
		
		}
		
		
		
		
		
		
		
		
		
	}
}
